package com.ruoyi.develop.finance.financeAr.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 应收账款对象 finance_ar
 *
 * @author lmm
 * @date 2025-07-30
 */
public class FinanceAr extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private String id;

    /**
     * 编号
     */
    @Excel(name = "编号")
    private String nos;

    /**
     * 类别
     */
    @Excel(name = "类别")
    private String type;

    /**
     * 发生时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发生时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date occurDate;

    /**
     * 客户id
     */
    @Excel(name = "客户id")
    private String customerId;

    /**
     * 客户名称
     */
    @Excel(name = "客户名称")
    private String customerName;

    /**
     * 发货id
     */
    @Excel(name = "发货id")
    private String sendId;

    /**
     * 发货编号
     */
    @Excel(name = "发货编号")
    private String sendNos;

    /**
     * 发货日期
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发货日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date sendDate;

    /**
     * 回款id
     */
    @Excel(name = "回款id")
    private String payReturnId;

    /**
     * 回款编号
     */
    @Excel(name = "回款编号")
    private String payReturnNos;

    /**
     * 回款日期
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "回款日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date payReturnDate;

    /**
     * 金额
     */
    @Excel(name = "发货金额")
    private BigDecimal deliveryMoney;


    /** * 收款金额 */
    @Excel(name = "收款金额")
    private BigDecimal acceptMoney;

    /** * 余额 */
    @Excel(name = "余额")
    private BigDecimal remainMoney;


    /**
     * 删除标志
     */
    private String delFlag;

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getType() {
        return type;
    }

    public void setOccurDate(Date occurDate) {
        this.occurDate = occurDate;
    }

    public Date getOccurDate() {
        return occurDate;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setSendId(String sendId) {
        this.sendId = sendId;
    }

    public String getSendId() {
        return sendId;
    }

    public String getNos() {
        return nos;
    }

    public void setNos(String nos) {
        this.nos = nos;
    }

    public String getSendNos() {
        return sendNos;
    }

    public void setSendNos(String sendNos) {
        this.sendNos = sendNos;
    }

    public void setSendDate(Date sendDate) {
        this.sendDate = sendDate;
    }

    public Date getSendDate() {
        return sendDate;
    }

    public void setPayReturnId(String payReturnId) {
        this.payReturnId = payReturnId;
    }

    public String getPayReturnId() {
        return payReturnId;
    }

    public String getPayReturnNos() {
        return payReturnNos;
    }

    public void setPayReturnNos(String payReturnNos) {
        this.payReturnNos = payReturnNos;
    }

    public void setPayReturnDate(Date payReturnDate) {
        this.payReturnDate = payReturnDate;
    }

    public Date getPayReturnDate() {
        return payReturnDate;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public BigDecimal getDeliveryMoney() {
        return deliveryMoney;
    }

    public void setDeliveryMoney(BigDecimal deliveryMoney) {
        this.deliveryMoney = deliveryMoney;
    }

    public BigDecimal getAcceptMoney() {
        return acceptMoney;
    }

    public void setAcceptMoney(BigDecimal acceptMoney) {
        this.acceptMoney = acceptMoney;
    }

    public BigDecimal getRemainMoney() {
        return remainMoney;
    }

    public void setRemainMoney(BigDecimal remainMoney) {
        this.remainMoney = remainMoney;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("nos", getNos())
                .append("type", getType())
                .append("occurDate", getOccurDate())
                .append("customerId", getCustomerId())
                .append("customerName", getCustomerName())
                .append("sendId", getSendId())
                .append("sendNos", getSendNos())
                .append("sendDate", getSendDate())
                .append("payReturnId", getPayReturnId())
                .append("payReturnNos", getPayReturnNos())
                .append("payReturnDate", getPayReturnDate())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("delFlag", getDelFlag())
                .toString();
    }
}
